Ext.define('YuXuanView', {
	extend : 'Ext.panel.Panel',
	id : 'YuXuanView',
	title : '学生预选题目',
	region : 'center',
	layout : 'border',
	iconCls: 'menu-cusLinkman',

	initComponent : function() {		
		this.searchPanel = new KE.SearchPanel({
					region : 'north',
					items : [{
								text : '题目'
							}, {
								width : 120,
								name : 'Q_LIKES_name',
								xtype : 'textfield'								
							}, {
								xtype : 'button',
								text : '查询',
								scope : this,
								iconCls : 'btn-search',
								handler : this.search
							}, {
								xtype : 'button',
								text : '清空',
								scope : this,
								iconCls : 'reset',
								handler : this.reset
							}]
				});

		this.topbar = new Ext.Toolbar({
			items : [{
						iconCls : 'btn-suggest-scan',
						text : '查看已预选题目',
						xtype : 'button',
						scope : this,
						handler : this.viewMySubject
					}, '-', {
						iconCls : 'btn-sendMessage',
						text : '提交预选',
						xtype : 'button',
						scope : this,
						handler : this.updateYuXuan
					}, '->', {
						xtype: 'tbtext',
						html: '<font color="red"><b>（每个学生可预选10个题目）</b></font>'
					}]
		});

		
		this.gridPanel = new KE.GridPanel({
			region : 'center',
			id : 'YuXuanGrid',
			tbar : this.topbar,
			url : __ctxPath + "/byxt/listYuXuan.do",
			fields : ['oid', 'name',  {
								name : 'teacher.fullname',
								mapping : 'teacher.fullname'
							},'xscnt'],
			
			columns : [{
						header : 'ID',
						dataIndex : 'oid',
						hidden : true
					}, {
						header : '题目',
						dataIndex : 'name',
						flex: 2 
					}, {
						header : '指导教师',
						dataIndex : 'teacher.fullname'
					},{
						header : '当前预选人数',
						dataIndex : 'xscnt',
						renderer: function(v) { 
							if(v== null) return '0';
							else return v;
						}
					}]
		});

		this.items = [this.searchPanel, this.gridPanel];
		this.callParent();
		this.gridPanel.on('rowdblclick', this.rowClick);
	},
	
	
	viewMySubject : function() {
		new YuXuanResultForm().show();
		
	},
	
	// 重置查询表单
	reset : function() {
		this.searchPanel.getForm().reset();
		Ext.each(this.searchPanel.query('combo'), function(c) {
			c.setValue('');
			c.setRawValue('');
		});
	},
	// 按条件搜索
	search : function() {
		$search({
			searchPanel : this.searchPanel,
			gridPanel : this.gridPanel
		});
	},
	// GridPanel行点击处理事件
	rowClick : function(grid, rec) {
		new YuXuanForm({
			sid : rec.data.oid
		}).show();
	},
	// 创建记录
	createRs : function() {
		new YuXuanForm().show();
	},
	// 按ID删除记录
	removeRs : function(id) {
		$postDel({
			url : __ctxPath + '/byxt/multiDelYuXuan.do',
			ids : id,
			grid : this.gridPanel
		});
	},
	// 把选中ID删除
	removeSelRs : function() {
		$delGridRs({
			url : __ctxPath + '/byxt/multiDelYuXuan.do',
			grid : this.gridPanel,
			idName : 'oid'
		});
	},
	// 编辑Rs
	editRs : function(record) {
		new YuXuanForm({
			sid : record.data.oid
		}).show();
	},
	// 流转信息
	viewRs: function(record) {
		new WndShow({
			height : 450,
		    width : 850,
			title: '流转信息',
			url: __ctxPath + '/byxt/showOpinionYuXuan.do?oid=' + record.data.oid
		}).show();
	},
	// 提交至审核 
	updateYuXuan: function() {
		var me = this;
		var selRs = this.gridPanel.getSelectionModel().getSelection();
		if(selRs.length == 0) {
			Ext.ux.Toast.msg('操作信息', '请选择要操作的记录！');
			return false;
		}
		var ids = [];
		for(var i=0; i<selRs.length; i++) {
			var xscnt = selRs[i].data.xscnt;
			// 一道题只能被10个人预选
			if(xscnt >= 5) { //
				Ext.ux.Toast.msg('操作信息', '预选人数已满');
				return false;
			}
			ids.push(selRs[i].data.oid);			
		}		
		// 提交，提示一个学生最多只能预选10个题目
		$postAjax({
			url: __ctxPath + '/byxt/saveYuXuan.do',
			params: {
				ids: ids.join(',')
			},
			callback: function(json) {
				if(!json.success) {
					Ext.ux.Toast.msg('操作信息', json.message);
				} else {
					Ext.ux.Toast.msg('操作信息', "预选成功");
					me.gridPanel.getStore().reload();
				}
			}
		});
	}
	
	

});
